package com.fitns.user.mapper.baseConfig;

import static org.mybatis.dynamic.sql.SqlBuilder.*;

import com.fitns.user.model.baseConfig.TbVehicleLedger;

import java.util.List;
import javax.annotation.Generated;

import org.apache.ibatis.annotations.DeleteProvider;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.SelectKey;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.UpdateProvider;
import org.apache.ibatis.type.JdbcType;
import org.mybatis.dynamic.sql.SqlBuilder;
import org.mybatis.dynamic.sql.delete.DeleteDSL;
import org.mybatis.dynamic.sql.delete.MyBatis3DeleteModelAdapter;
import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
import org.mybatis.dynamic.sql.render.RenderingStrategy;
import org.mybatis.dynamic.sql.select.MyBatis3SelectModelAdapter;
import org.mybatis.dynamic.sql.select.QueryExpressionDSL;
import org.mybatis.dynamic.sql.select.SelectDSL;
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
import org.mybatis.dynamic.sql.update.MyBatis3UpdateModelAdapter;
import org.mybatis.dynamic.sql.update.UpdateDSL;
import org.mybatis.dynamic.sql.update.render.UpdateStatementProvider;
import org.mybatis.dynamic.sql.util.SqlProviderAdapter;

@Mapper
public interface TbVehicleLedgerMapper {
    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @SelectProvider(type=SqlProviderAdapter.class, method="select")
    long count(SelectStatementProvider selectStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @DeleteProvider(type=SqlProviderAdapter.class, method="delete")
    int delete(DeleteStatementProvider deleteStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @InsertProvider(type=SqlProviderAdapter.class, method="insert")
    @SelectKey(statement="SELECT LAST_INSERT_ID()", keyProperty="record.id", before=false, resultType=Long.class)
    int insert(InsertStatementProvider<TbVehicleLedger> insertStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @SelectProvider(type=SqlProviderAdapter.class, method="select")
    @ResultMap("TbVehicleLedgerResult")
    TbVehicleLedger selectOne(SelectStatementProvider selectStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @SelectProvider(type=SqlProviderAdapter.class, method="select")
    @Results(id="TbVehicleLedgerResult", value = {
        @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
        @Result(column="plate_num", property="plateNum", jdbcType=JdbcType.VARCHAR),
        @Result(column="organ_id", property="organId", jdbcType=JdbcType.BIGINT),
        @Result(column="driver_name", property="driverName", jdbcType=JdbcType.VARCHAR),
        @Result(column="driver_phone", property="driverPhone", jdbcType=JdbcType.VARCHAR),
        @Result(column="type", property="type", jdbcType=JdbcType.VARCHAR),
        @Result(column="terminal", property="terminal", jdbcType=JdbcType.VARCHAR),
        @Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
        @Result(column="let_standard", property="letStandard", jdbcType=JdbcType.VARCHAR),
        @Result(column="fuel_type", property="fuelType", jdbcType=JdbcType.VARCHAR),
        @Result(column="product_date", property="productDate", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="durable_years", property="durableYears", jdbcType=JdbcType.INTEGER),
        @Result(column="create_id", property="createId", jdbcType=JdbcType.BIGINT),
        @Result(column="modify_id", property="modifyId", jdbcType=JdbcType.BIGINT),
        @Result(column="input_time", property="inputTime", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="modify_time", property="modifyTime", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="ranges", property="ranges", jdbcType=JdbcType.VARCHAR),
        @Result(column="property", property="property", jdbcType=JdbcType.VARCHAR),
        @Result(column="purpose", property="purpose", jdbcType=JdbcType.VARCHAR),
        @Result(column="trans_type", property="transType", jdbcType=JdbcType.VARCHAR),
        @Result(column="buy_date", property="buyDate", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="install_date", property="installDate", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="valide_period", property="validePeriod", jdbcType=JdbcType.INTEGER),
        @Result(column="tranship", property="tranship", jdbcType=JdbcType.BIT),
        @Result(column="road_certificate", property="roadCertificate", jdbcType=JdbcType.VARCHAR),
        @Result(column="brand_model", property="brandModel", jdbcType=JdbcType.VARCHAR),
        @Result(column="change_com", property="changeCom", jdbcType=JdbcType.VARCHAR),
        @Result(column="engine_num", property="engineNum", jdbcType=JdbcType.VARCHAR),
        @Result(column="approved_num", property="approvedNum", jdbcType=JdbcType.INTEGER),
        @Result(column="approved_weight", property="approvedWeight", jdbcType=JdbcType.REAL),
        @Result(column="vehicle_power", property="vehiclePower", jdbcType=JdbcType.VARCHAR),
        @Result(column="frame_num", property="frameNum", jdbcType=JdbcType.VARCHAR),
        @Result(column="underpan_type", property="underpanType", jdbcType=JdbcType.VARCHAR),
        @Result(column="dead_weight", property="deadWeight", jdbcType=JdbcType.REAL),
        @Result(column="length", property="length", jdbcType=JdbcType.REAL),
        @Result(column="width", property="width", jdbcType=JdbcType.REAL),
        @Result(column="height", property="height", jdbcType=JdbcType.REAL),
        @Result(column="oil_wear", property="oilWear", jdbcType=JdbcType.REAL),
        @Result(column="speed_limit", property="speedLimit", jdbcType=JdbcType.REAL),
        @Result(column="feature_num", property="featureNum", jdbcType=JdbcType.REAL),
        @Result(column="pole_pairs", property="polePairs", jdbcType=JdbcType.INTEGER),
        @Result(column="input_voltage", property="inputVoltage", jdbcType=JdbcType.REAL),
        @Result(column="one_param", property="oneParam", jdbcType=JdbcType.REAL),
        @Result(column="two_param", property="twoParam", jdbcType=JdbcType.REAL),
        @Result(column="illegal_move", property="illegalMove", jdbcType=JdbcType.VARCHAR),
        @Result(column="line_alarm", property="lineAlarm", jdbcType=JdbcType.VARCHAR),
        @Result(column="camera", property="camera", jdbcType=JdbcType.BIT),
        @Result(column="video", property="video", jdbcType=JdbcType.BIT),
        @Result(column="video_num", property="videoNum", jdbcType=JdbcType.VARCHAR),
        @Result(column="stop_area", property="stopArea", jdbcType=JdbcType.VARCHAR),
        @Result(column="work_ration", property="workRation", jdbcType=JdbcType.INTEGER),
        @Result(column="recorder_num", property="recorderNum", jdbcType=JdbcType.VARCHAR),
        @Result(column="video_address", property="videoAddress", jdbcType=JdbcType.VARCHAR),
        @Result(column= "image", property= "image", jdbcType=JdbcType.VARCHAR),
        @Result(column="stop_time", property="stopTime", jdbcType=JdbcType.INTEGER)
    })
    List<TbVehicleLedger> selectMany(SelectStatementProvider selectStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @UpdateProvider(type=SqlProviderAdapter.class, method="update")
    int update(UpdateStatementProvider updateStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default QueryExpressionDSL<MyBatis3SelectModelAdapter<Long>> countByExample() {
        return SelectDSL.selectWithMapper(this::count, SqlBuilder.count())
                .from(TbVehicleLedgerDynamicSqlSupport.tbVehicleLedger);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default DeleteDSL<MyBatis3DeleteModelAdapter<Integer>> deleteByExample() {
        return DeleteDSL.deleteFromWithMapper(this::delete, TbVehicleLedgerDynamicSqlSupport.tbVehicleLedger);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default int deleteByPrimaryKey(Long id_) {
        return DeleteDSL.deleteFromWithMapper(this::delete, TbVehicleLedgerDynamicSqlSupport.tbVehicleLedger)
                .where(TbVehicleLedgerDynamicSqlSupport.id, isEqualTo(id_))
                .build()
                .execute();
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default int insert(TbVehicleLedger record) {
        return insert(SqlBuilder.insert(record)
                .into(TbVehicleLedgerDynamicSqlSupport.tbVehicleLedger)
                .map(TbVehicleLedgerDynamicSqlSupport.plateNum).toProperty("plateNum")
                .map(TbVehicleLedgerDynamicSqlSupport.organId).toProperty("organId")
                .map(TbVehicleLedgerDynamicSqlSupport.driverName).toProperty("driverName")
                .map(TbVehicleLedgerDynamicSqlSupport.driverPhone).toProperty("driverPhone")
                .map(TbVehicleLedgerDynamicSqlSupport.type).toProperty("type")
                .map(TbVehicleLedgerDynamicSqlSupport.terminal).toProperty("terminal")
                .map(TbVehicleLedgerDynamicSqlSupport.status).toProperty("status")
                .map(TbVehicleLedgerDynamicSqlSupport.letStandard).toProperty("letStandard")
                .map(TbVehicleLedgerDynamicSqlSupport.fuelType).toProperty("fuelType")
                .map(TbVehicleLedgerDynamicSqlSupport.productDate).toProperty("productDate")
                .map(TbVehicleLedgerDynamicSqlSupport.durableYears).toProperty("durableYears")
                .map(TbVehicleLedgerDynamicSqlSupport.createId).toProperty("createId")
                .map(TbVehicleLedgerDynamicSqlSupport.modifyId).toProperty("modifyId")
                .map(TbVehicleLedgerDynamicSqlSupport.inputTime).toProperty("inputTime")
                .map(TbVehicleLedgerDynamicSqlSupport.modifyTime).toProperty("modifyTime")
                .map(TbVehicleLedgerDynamicSqlSupport.ranges).toProperty("ranges")
                .map(TbVehicleLedgerDynamicSqlSupport.property).toProperty("property")
                .map(TbVehicleLedgerDynamicSqlSupport.purpose).toProperty("purpose")
                .map(TbVehicleLedgerDynamicSqlSupport.transType).toProperty("transType")
                .map(TbVehicleLedgerDynamicSqlSupport.buyDate).toProperty("buyDate")
                .map(TbVehicleLedgerDynamicSqlSupport.installDate).toProperty("installDate")
                .map(TbVehicleLedgerDynamicSqlSupport.validePeriod).toProperty("validePeriod")
                .map(TbVehicleLedgerDynamicSqlSupport.tranship).toProperty("tranship")
                .map(TbVehicleLedgerDynamicSqlSupport.roadCertificate).toProperty("roadCertificate")
                .map(TbVehicleLedgerDynamicSqlSupport.brandModel).toProperty("brandModel")
                .map(TbVehicleLedgerDynamicSqlSupport.changeCom).toProperty("changeCom")
                .map(TbVehicleLedgerDynamicSqlSupport.engineNum).toProperty("engineNum")
                .map(TbVehicleLedgerDynamicSqlSupport.approvedNum).toProperty("approvedNum")
                .map(TbVehicleLedgerDynamicSqlSupport.approvedWeight).toProperty("approvedWeight")
                .map(TbVehicleLedgerDynamicSqlSupport.vehiclePower).toProperty("vehiclePower")
                .map(TbVehicleLedgerDynamicSqlSupport.frameNum).toProperty("frameNum")
                .map(TbVehicleLedgerDynamicSqlSupport.underpanType).toProperty("underpanType")
                .map(TbVehicleLedgerDynamicSqlSupport.deadWeight).toProperty("deadWeight")
                .map(TbVehicleLedgerDynamicSqlSupport.length).toProperty("length")
                .map(TbVehicleLedgerDynamicSqlSupport.width).toProperty("width")
                .map(TbVehicleLedgerDynamicSqlSupport.height).toProperty("height")
                .map(TbVehicleLedgerDynamicSqlSupport.oilWear).toProperty("oilWear")
                .map(TbVehicleLedgerDynamicSqlSupport.speedLimit).toProperty("speedLimit")
                .map(TbVehicleLedgerDynamicSqlSupport.featureNum).toProperty("featureNum")
                .map(TbVehicleLedgerDynamicSqlSupport.polePairs).toProperty("polePairs")
                .map(TbVehicleLedgerDynamicSqlSupport.inputVoltage).toProperty("inputVoltage")
                .map(TbVehicleLedgerDynamicSqlSupport.oneParam).toProperty("oneParam")
                .map(TbVehicleLedgerDynamicSqlSupport.twoParam).toProperty("twoParam")
                .map(TbVehicleLedgerDynamicSqlSupport.illegalMove).toProperty("illegalMove")
                .map(TbVehicleLedgerDynamicSqlSupport.lineAlarm).toProperty("lineAlarm")
                .map(TbVehicleLedgerDynamicSqlSupport.camera).toProperty("camera")
                .map(TbVehicleLedgerDynamicSqlSupport.video).toProperty("video")
                .map(TbVehicleLedgerDynamicSqlSupport.videoNum).toProperty("videoNum")
                .map(TbVehicleLedgerDynamicSqlSupport.stopArea).toProperty("stopArea")
                .map(TbVehicleLedgerDynamicSqlSupport.workRation).toProperty("workRation")
                .map(TbVehicleLedgerDynamicSqlSupport.recorderNum).toProperty("recorderNum")
                .map(TbVehicleLedgerDynamicSqlSupport.videoAddress).toProperty("videoAddress")
                .map(TbVehicleLedgerDynamicSqlSupport.image).toProperty("image")
                .map(TbVehicleLedgerDynamicSqlSupport.stopTime).toProperty("stopTime")
                .build()
                .render(RenderingStrategy.MYBATIS3));
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default int insertSelective(TbVehicleLedger record) {
        return insert(SqlBuilder.insert(record)
                .into(TbVehicleLedgerDynamicSqlSupport.tbVehicleLedger)
                .map(TbVehicleLedgerDynamicSqlSupport.plateNum).toPropertyWhenPresent("plateNum", record::getPlateNum)
                .map(TbVehicleLedgerDynamicSqlSupport.organId).toPropertyWhenPresent("organId", record::getOrganId)
                .map(TbVehicleLedgerDynamicSqlSupport.driverName).toPropertyWhenPresent("driverName", record::getDriverName)
                .map(TbVehicleLedgerDynamicSqlSupport.driverPhone).toPropertyWhenPresent("driverPhone", record::getDriverPhone)
                .map(TbVehicleLedgerDynamicSqlSupport.type).toPropertyWhenPresent("type", record::getType)
                .map(TbVehicleLedgerDynamicSqlSupport.terminal).toPropertyWhenPresent("terminal", record::getTerminal)
                .map(TbVehicleLedgerDynamicSqlSupport.status).toPropertyWhenPresent("status", record::getStatus)
                .map(TbVehicleLedgerDynamicSqlSupport.letStandard).toPropertyWhenPresent("letStandard", record::getLetStandard)
                .map(TbVehicleLedgerDynamicSqlSupport.fuelType).toPropertyWhenPresent("fuelType", record::getFuelType)
                .map(TbVehicleLedgerDynamicSqlSupport.productDate).toPropertyWhenPresent("productDate", record::getProductDate)
                .map(TbVehicleLedgerDynamicSqlSupport.durableYears).toPropertyWhenPresent("durableYears", record::getDurableYears)
                .map(TbVehicleLedgerDynamicSqlSupport.createId).toPropertyWhenPresent("createId", record::getCreateId)
                .map(TbVehicleLedgerDynamicSqlSupport.modifyId).toPropertyWhenPresent("modifyId", record::getModifyId)
                .map(TbVehicleLedgerDynamicSqlSupport.inputTime).toPropertyWhenPresent("inputTime", record::getInputTime)
                .map(TbVehicleLedgerDynamicSqlSupport.modifyTime).toPropertyWhenPresent("modifyTime", record::getModifyTime)
                .map(TbVehicleLedgerDynamicSqlSupport.ranges).toPropertyWhenPresent("ranges", record::getRanges)
                .map(TbVehicleLedgerDynamicSqlSupport.property).toPropertyWhenPresent("property", record::getProperty)
                .map(TbVehicleLedgerDynamicSqlSupport.purpose).toPropertyWhenPresent("purpose", record::getPurpose)
                .map(TbVehicleLedgerDynamicSqlSupport.transType).toPropertyWhenPresent("transType", record::getTransType)
                .map(TbVehicleLedgerDynamicSqlSupport.buyDate).toPropertyWhenPresent("buyDate", record::getBuyDate)
                .map(TbVehicleLedgerDynamicSqlSupport.installDate).toPropertyWhenPresent("installDate", record::getInstallDate)
                .map(TbVehicleLedgerDynamicSqlSupport.validePeriod).toPropertyWhenPresent("validePeriod", record::getValidePeriod)
                .map(TbVehicleLedgerDynamicSqlSupport.tranship).toPropertyWhenPresent("tranship", record::getTranship)
                .map(TbVehicleLedgerDynamicSqlSupport.roadCertificate).toPropertyWhenPresent("roadCertificate", record::getRoadCertificate)
                .map(TbVehicleLedgerDynamicSqlSupport.brandModel).toPropertyWhenPresent("brandModel", record::getBrandModel)
                .map(TbVehicleLedgerDynamicSqlSupport.changeCom).toPropertyWhenPresent("changeCom", record::getChangeCom)
                .map(TbVehicleLedgerDynamicSqlSupport.engineNum).toPropertyWhenPresent("engineNum", record::getEngineNum)
                .map(TbVehicleLedgerDynamicSqlSupport.approvedNum).toPropertyWhenPresent("approvedNum", record::getApprovedNum)
                .map(TbVehicleLedgerDynamicSqlSupport.approvedWeight).toPropertyWhenPresent("approvedWeight", record::getApprovedWeight)
                .map(TbVehicleLedgerDynamicSqlSupport.vehiclePower).toPropertyWhenPresent("vehiclePower", record::getVehiclePower)
                .map(TbVehicleLedgerDynamicSqlSupport.frameNum).toPropertyWhenPresent("frameNum", record::getFrameNum)
                .map(TbVehicleLedgerDynamicSqlSupport.underpanType).toPropertyWhenPresent("underpanType", record::getUnderpanType)
                .map(TbVehicleLedgerDynamicSqlSupport.deadWeight).toPropertyWhenPresent("deadWeight", record::getDeadWeight)
                .map(TbVehicleLedgerDynamicSqlSupport.length).toPropertyWhenPresent("length", record::getLength)
                .map(TbVehicleLedgerDynamicSqlSupport.width).toPropertyWhenPresent("width", record::getWidth)
                .map(TbVehicleLedgerDynamicSqlSupport.height).toPropertyWhenPresent("height", record::getHeight)
                .map(TbVehicleLedgerDynamicSqlSupport.oilWear).toPropertyWhenPresent("oilWear", record::getOilWear)
                .map(TbVehicleLedgerDynamicSqlSupport.speedLimit).toPropertyWhenPresent("speedLimit", record::getSpeedLimit)
                .map(TbVehicleLedgerDynamicSqlSupport.featureNum).toPropertyWhenPresent("featureNum", record::getFeatureNum)
                .map(TbVehicleLedgerDynamicSqlSupport.polePairs).toPropertyWhenPresent("polePairs", record::getPolePairs)
                .map(TbVehicleLedgerDynamicSqlSupport.inputVoltage).toPropertyWhenPresent("inputVoltage", record::getInputVoltage)
                .map(TbVehicleLedgerDynamicSqlSupport.oneParam).toPropertyWhenPresent("oneParam", record::getOneParam)
                .map(TbVehicleLedgerDynamicSqlSupport.twoParam).toPropertyWhenPresent("twoParam", record::getTwoParam)
                .map(TbVehicleLedgerDynamicSqlSupport.illegalMove).toPropertyWhenPresent("illegalMove", record::getIllegalMove)
                .map(TbVehicleLedgerDynamicSqlSupport.lineAlarm).toPropertyWhenPresent("lineAlarm", record::getLineAlarm)
                .map(TbVehicleLedgerDynamicSqlSupport.camera).toPropertyWhenPresent("camera", record::getCamera)
                .map(TbVehicleLedgerDynamicSqlSupport.video).toPropertyWhenPresent("video", record::getVideo)
                .map(TbVehicleLedgerDynamicSqlSupport.videoNum).toPropertyWhenPresent("videoNum", record::getVideoNum)
                .map(TbVehicleLedgerDynamicSqlSupport.stopArea).toPropertyWhenPresent("stopArea", record::getStopArea)
                .map(TbVehicleLedgerDynamicSqlSupport.workRation).toPropertyWhenPresent("workRation", record::getWorkRation)
                .map(TbVehicleLedgerDynamicSqlSupport.recorderNum).toPropertyWhenPresent("recorderNum", record::getRecorderNum)
                .map(TbVehicleLedgerDynamicSqlSupport.videoAddress).toPropertyWhenPresent("videoAddress", record::getVideoAddress)
                .map(TbVehicleLedgerDynamicSqlSupport.image).toPropertyWhenPresent("image", record::getImage)
                .map(TbVehicleLedgerDynamicSqlSupport.stopTime).toPropertyWhenPresent("stopTime", record::getStopTime)
                .build()
                .render(RenderingStrategy.MYBATIS3));
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default QueryExpressionDSL<MyBatis3SelectModelAdapter<List<TbVehicleLedger>>> selectByExample() {
        return SelectDSL.selectWithMapper(this::selectMany, TbVehicleLedgerDynamicSqlSupport.id, TbVehicleLedgerDynamicSqlSupport.plateNum, TbVehicleLedgerDynamicSqlSupport.organId, TbVehicleLedgerDynamicSqlSupport.driverName, TbVehicleLedgerDynamicSqlSupport.driverPhone, TbVehicleLedgerDynamicSqlSupport.type, TbVehicleLedgerDynamicSqlSupport.terminal, TbVehicleLedgerDynamicSqlSupport.status, TbVehicleLedgerDynamicSqlSupport.letStandard, TbVehicleLedgerDynamicSqlSupport.fuelType, TbVehicleLedgerDynamicSqlSupport.productDate, TbVehicleLedgerDynamicSqlSupport.durableYears, TbVehicleLedgerDynamicSqlSupport.createId, TbVehicleLedgerDynamicSqlSupport.modifyId, TbVehicleLedgerDynamicSqlSupport.inputTime, TbVehicleLedgerDynamicSqlSupport.modifyTime, TbVehicleLedgerDynamicSqlSupport.ranges, TbVehicleLedgerDynamicSqlSupport.property, TbVehicleLedgerDynamicSqlSupport.purpose, TbVehicleLedgerDynamicSqlSupport.transType, TbVehicleLedgerDynamicSqlSupport.buyDate, TbVehicleLedgerDynamicSqlSupport.installDate, TbVehicleLedgerDynamicSqlSupport.validePeriod, TbVehicleLedgerDynamicSqlSupport.tranship, TbVehicleLedgerDynamicSqlSupport.roadCertificate, TbVehicleLedgerDynamicSqlSupport.brandModel, TbVehicleLedgerDynamicSqlSupport.changeCom, TbVehicleLedgerDynamicSqlSupport.engineNum, TbVehicleLedgerDynamicSqlSupport.approvedNum, TbVehicleLedgerDynamicSqlSupport.approvedWeight, TbVehicleLedgerDynamicSqlSupport.vehiclePower, TbVehicleLedgerDynamicSqlSupport.frameNum, TbVehicleLedgerDynamicSqlSupport.underpanType, TbVehicleLedgerDynamicSqlSupport.deadWeight, TbVehicleLedgerDynamicSqlSupport.length, TbVehicleLedgerDynamicSqlSupport.width, TbVehicleLedgerDynamicSqlSupport.height, TbVehicleLedgerDynamicSqlSupport.oilWear, TbVehicleLedgerDynamicSqlSupport.speedLimit, TbVehicleLedgerDynamicSqlSupport.featureNum, TbVehicleLedgerDynamicSqlSupport.polePairs, TbVehicleLedgerDynamicSqlSupport.inputVoltage, TbVehicleLedgerDynamicSqlSupport.oneParam, TbVehicleLedgerDynamicSqlSupport.twoParam, TbVehicleLedgerDynamicSqlSupport.illegalMove, TbVehicleLedgerDynamicSqlSupport.lineAlarm, TbVehicleLedgerDynamicSqlSupport.camera, TbVehicleLedgerDynamicSqlSupport.video, TbVehicleLedgerDynamicSqlSupport.videoNum, TbVehicleLedgerDynamicSqlSupport.stopArea, TbVehicleLedgerDynamicSqlSupport.workRation, TbVehicleLedgerDynamicSqlSupport.recorderNum, TbVehicleLedgerDynamicSqlSupport.videoAddress, TbVehicleLedgerDynamicSqlSupport.image, TbVehicleLedgerDynamicSqlSupport.stopTime)
                .from(TbVehicleLedgerDynamicSqlSupport.tbVehicleLedger);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default QueryExpressionDSL<MyBatis3SelectModelAdapter<List<TbVehicleLedger>>> selectDistinctByExample() {
        return SelectDSL.selectDistinctWithMapper(this::selectMany, TbVehicleLedgerDynamicSqlSupport.id, TbVehicleLedgerDynamicSqlSupport.plateNum, TbVehicleLedgerDynamicSqlSupport.organId, TbVehicleLedgerDynamicSqlSupport.driverName, TbVehicleLedgerDynamicSqlSupport.driverPhone, TbVehicleLedgerDynamicSqlSupport.type, TbVehicleLedgerDynamicSqlSupport.terminal, TbVehicleLedgerDynamicSqlSupport.status, TbVehicleLedgerDynamicSqlSupport.letStandard, TbVehicleLedgerDynamicSqlSupport.fuelType, TbVehicleLedgerDynamicSqlSupport.productDate, TbVehicleLedgerDynamicSqlSupport.durableYears, TbVehicleLedgerDynamicSqlSupport.createId, TbVehicleLedgerDynamicSqlSupport.modifyId, TbVehicleLedgerDynamicSqlSupport.inputTime, TbVehicleLedgerDynamicSqlSupport.modifyTime, TbVehicleLedgerDynamicSqlSupport.ranges, TbVehicleLedgerDynamicSqlSupport.property, TbVehicleLedgerDynamicSqlSupport.purpose, TbVehicleLedgerDynamicSqlSupport.transType, TbVehicleLedgerDynamicSqlSupport.buyDate, TbVehicleLedgerDynamicSqlSupport.installDate, TbVehicleLedgerDynamicSqlSupport.validePeriod, TbVehicleLedgerDynamicSqlSupport.tranship, TbVehicleLedgerDynamicSqlSupport.roadCertificate, TbVehicleLedgerDynamicSqlSupport.brandModel, TbVehicleLedgerDynamicSqlSupport.changeCom, TbVehicleLedgerDynamicSqlSupport.engineNum, TbVehicleLedgerDynamicSqlSupport.approvedNum, TbVehicleLedgerDynamicSqlSupport.approvedWeight, TbVehicleLedgerDynamicSqlSupport.vehiclePower, TbVehicleLedgerDynamicSqlSupport.frameNum, TbVehicleLedgerDynamicSqlSupport.underpanType, TbVehicleLedgerDynamicSqlSupport.deadWeight, TbVehicleLedgerDynamicSqlSupport.length, TbVehicleLedgerDynamicSqlSupport.width, TbVehicleLedgerDynamicSqlSupport.height, TbVehicleLedgerDynamicSqlSupport.oilWear, TbVehicleLedgerDynamicSqlSupport.speedLimit, TbVehicleLedgerDynamicSqlSupport.featureNum, TbVehicleLedgerDynamicSqlSupport.polePairs, TbVehicleLedgerDynamicSqlSupport.inputVoltage, TbVehicleLedgerDynamicSqlSupport.oneParam, TbVehicleLedgerDynamicSqlSupport.twoParam, TbVehicleLedgerDynamicSqlSupport.illegalMove, TbVehicleLedgerDynamicSqlSupport.lineAlarm, TbVehicleLedgerDynamicSqlSupport.camera, TbVehicleLedgerDynamicSqlSupport.video, TbVehicleLedgerDynamicSqlSupport.videoNum, TbVehicleLedgerDynamicSqlSupport.stopArea, TbVehicleLedgerDynamicSqlSupport.workRation, TbVehicleLedgerDynamicSqlSupport.recorderNum, TbVehicleLedgerDynamicSqlSupport.videoAddress, TbVehicleLedgerDynamicSqlSupport.image, TbVehicleLedgerDynamicSqlSupport.stopTime)
                .from(TbVehicleLedgerDynamicSqlSupport.tbVehicleLedger);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default TbVehicleLedger selectByPrimaryKey(Long id_) {
        return SelectDSL.selectWithMapper(this::selectOne, TbVehicleLedgerDynamicSqlSupport.id, TbVehicleLedgerDynamicSqlSupport.plateNum, TbVehicleLedgerDynamicSqlSupport.organId, TbVehicleLedgerDynamicSqlSupport.driverName, TbVehicleLedgerDynamicSqlSupport.driverPhone, TbVehicleLedgerDynamicSqlSupport.type, TbVehicleLedgerDynamicSqlSupport.terminal, TbVehicleLedgerDynamicSqlSupport.status, TbVehicleLedgerDynamicSqlSupport.letStandard, TbVehicleLedgerDynamicSqlSupport.fuelType, TbVehicleLedgerDynamicSqlSupport.productDate, TbVehicleLedgerDynamicSqlSupport.durableYears, TbVehicleLedgerDynamicSqlSupport.createId, TbVehicleLedgerDynamicSqlSupport.modifyId, TbVehicleLedgerDynamicSqlSupport.inputTime, TbVehicleLedgerDynamicSqlSupport.modifyTime, TbVehicleLedgerDynamicSqlSupport.ranges, TbVehicleLedgerDynamicSqlSupport.property, TbVehicleLedgerDynamicSqlSupport.purpose, TbVehicleLedgerDynamicSqlSupport.transType, TbVehicleLedgerDynamicSqlSupport.buyDate, TbVehicleLedgerDynamicSqlSupport.installDate, TbVehicleLedgerDynamicSqlSupport.validePeriod, TbVehicleLedgerDynamicSqlSupport.tranship, TbVehicleLedgerDynamicSqlSupport.roadCertificate, TbVehicleLedgerDynamicSqlSupport.brandModel, TbVehicleLedgerDynamicSqlSupport.changeCom, TbVehicleLedgerDynamicSqlSupport.engineNum, TbVehicleLedgerDynamicSqlSupport.approvedNum, TbVehicleLedgerDynamicSqlSupport.approvedWeight, TbVehicleLedgerDynamicSqlSupport.vehiclePower, TbVehicleLedgerDynamicSqlSupport.frameNum, TbVehicleLedgerDynamicSqlSupport.underpanType, TbVehicleLedgerDynamicSqlSupport.deadWeight, TbVehicleLedgerDynamicSqlSupport.length, TbVehicleLedgerDynamicSqlSupport.width, TbVehicleLedgerDynamicSqlSupport.height, TbVehicleLedgerDynamicSqlSupport.oilWear, TbVehicleLedgerDynamicSqlSupport.speedLimit, TbVehicleLedgerDynamicSqlSupport.featureNum, TbVehicleLedgerDynamicSqlSupport.polePairs, TbVehicleLedgerDynamicSqlSupport.inputVoltage, TbVehicleLedgerDynamicSqlSupport.oneParam, TbVehicleLedgerDynamicSqlSupport.twoParam, TbVehicleLedgerDynamicSqlSupport.illegalMove, TbVehicleLedgerDynamicSqlSupport.lineAlarm, TbVehicleLedgerDynamicSqlSupport.camera, TbVehicleLedgerDynamicSqlSupport.video, TbVehicleLedgerDynamicSqlSupport.videoNum, TbVehicleLedgerDynamicSqlSupport.stopArea, TbVehicleLedgerDynamicSqlSupport.workRation, TbVehicleLedgerDynamicSqlSupport.recorderNum, TbVehicleLedgerDynamicSqlSupport.videoAddress, TbVehicleLedgerDynamicSqlSupport.image, TbVehicleLedgerDynamicSqlSupport.stopTime)
                .from(TbVehicleLedgerDynamicSqlSupport.tbVehicleLedger)
                .where(TbVehicleLedgerDynamicSqlSupport.id, isEqualTo(id_))
                .build()
                .execute();
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default UpdateDSL<MyBatis3UpdateModelAdapter<Integer>> updateByExample(TbVehicleLedger record) {
        return UpdateDSL.updateWithMapper(this::update, TbVehicleLedgerDynamicSqlSupport.tbVehicleLedger)
                .set(TbVehicleLedgerDynamicSqlSupport.plateNum).equalTo(record::getPlateNum)
                .set(TbVehicleLedgerDynamicSqlSupport.organId).equalTo(record::getOrganId)
                .set(TbVehicleLedgerDynamicSqlSupport.driverName).equalTo(record::getDriverName)
                .set(TbVehicleLedgerDynamicSqlSupport.driverPhone).equalTo(record::getDriverPhone)
                .set(TbVehicleLedgerDynamicSqlSupport.type).equalTo(record::getType)
                .set(TbVehicleLedgerDynamicSqlSupport.terminal).equalTo(record::getTerminal)
                .set(TbVehicleLedgerDynamicSqlSupport.status).equalTo(record::getStatus)
                .set(TbVehicleLedgerDynamicSqlSupport.letStandard).equalTo(record::getLetStandard)
                .set(TbVehicleLedgerDynamicSqlSupport.fuelType).equalTo(record::getFuelType)
                .set(TbVehicleLedgerDynamicSqlSupport.productDate).equalTo(record::getProductDate)
                .set(TbVehicleLedgerDynamicSqlSupport.durableYears).equalTo(record::getDurableYears)
                .set(TbVehicleLedgerDynamicSqlSupport.createId).equalTo(record::getCreateId)
                .set(TbVehicleLedgerDynamicSqlSupport.modifyId).equalTo(record::getModifyId)
                .set(TbVehicleLedgerDynamicSqlSupport.inputTime).equalTo(record::getInputTime)
                .set(TbVehicleLedgerDynamicSqlSupport.modifyTime).equalTo(record::getModifyTime)
                .set(TbVehicleLedgerDynamicSqlSupport.ranges).equalTo(record::getRanges)
                .set(TbVehicleLedgerDynamicSqlSupport.property).equalTo(record::getProperty)
                .set(TbVehicleLedgerDynamicSqlSupport.purpose).equalTo(record::getPurpose)
                .set(TbVehicleLedgerDynamicSqlSupport.transType).equalTo(record::getTransType)
                .set(TbVehicleLedgerDynamicSqlSupport.buyDate).equalTo(record::getBuyDate)
                .set(TbVehicleLedgerDynamicSqlSupport.installDate).equalTo(record::getInstallDate)
                .set(TbVehicleLedgerDynamicSqlSupport.validePeriod).equalTo(record::getValidePeriod)
                .set(TbVehicleLedgerDynamicSqlSupport.tranship).equalTo(record::getTranship)
                .set(TbVehicleLedgerDynamicSqlSupport.roadCertificate).equalTo(record::getRoadCertificate)
                .set(TbVehicleLedgerDynamicSqlSupport.brandModel).equalTo(record::getBrandModel)
                .set(TbVehicleLedgerDynamicSqlSupport.changeCom).equalTo(record::getChangeCom)
                .set(TbVehicleLedgerDynamicSqlSupport.engineNum).equalTo(record::getEngineNum)
                .set(TbVehicleLedgerDynamicSqlSupport.approvedNum).equalTo(record::getApprovedNum)
                .set(TbVehicleLedgerDynamicSqlSupport.approvedWeight).equalTo(record::getApprovedWeight)
                .set(TbVehicleLedgerDynamicSqlSupport.vehiclePower).equalTo(record::getVehiclePower)
                .set(TbVehicleLedgerDynamicSqlSupport.frameNum).equalTo(record::getFrameNum)
                .set(TbVehicleLedgerDynamicSqlSupport.underpanType).equalTo(record::getUnderpanType)
                .set(TbVehicleLedgerDynamicSqlSupport.deadWeight).equalTo(record::getDeadWeight)
                .set(TbVehicleLedgerDynamicSqlSupport.length).equalTo(record::getLength)
                .set(TbVehicleLedgerDynamicSqlSupport.width).equalTo(record::getWidth)
                .set(TbVehicleLedgerDynamicSqlSupport.height).equalTo(record::getHeight)
                .set(TbVehicleLedgerDynamicSqlSupport.oilWear).equalTo(record::getOilWear)
                .set(TbVehicleLedgerDynamicSqlSupport.speedLimit).equalTo(record::getSpeedLimit)
                .set(TbVehicleLedgerDynamicSqlSupport.featureNum).equalTo(record::getFeatureNum)
                .set(TbVehicleLedgerDynamicSqlSupport.polePairs).equalTo(record::getPolePairs)
                .set(TbVehicleLedgerDynamicSqlSupport.inputVoltage).equalTo(record::getInputVoltage)
                .set(TbVehicleLedgerDynamicSqlSupport.oneParam).equalTo(record::getOneParam)
                .set(TbVehicleLedgerDynamicSqlSupport.twoParam).equalTo(record::getTwoParam)
                .set(TbVehicleLedgerDynamicSqlSupport.illegalMove).equalTo(record::getIllegalMove)
                .set(TbVehicleLedgerDynamicSqlSupport.lineAlarm).equalTo(record::getLineAlarm)
                .set(TbVehicleLedgerDynamicSqlSupport.camera).equalTo(record::getCamera)
                .set(TbVehicleLedgerDynamicSqlSupport.video).equalTo(record::getVideo)
                .set(TbVehicleLedgerDynamicSqlSupport.videoNum).equalTo(record::getVideoNum)
                .set(TbVehicleLedgerDynamicSqlSupport.stopArea).equalTo(record::getStopArea)
                .set(TbVehicleLedgerDynamicSqlSupport.workRation).equalTo(record::getWorkRation)
                .set(TbVehicleLedgerDynamicSqlSupport.recorderNum).equalTo(record::getRecorderNum)
                .set(TbVehicleLedgerDynamicSqlSupport.videoAddress).equalTo(record::getVideoAddress)
                .set(TbVehicleLedgerDynamicSqlSupport.image).equalTo(record::getImage)
                .set(TbVehicleLedgerDynamicSqlSupport.stopTime).equalTo(record::getStopTime);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default UpdateDSL<MyBatis3UpdateModelAdapter<Integer>> updateByExampleSelective(TbVehicleLedger record) {
        return UpdateDSL.updateWithMapper(this::update, TbVehicleLedgerDynamicSqlSupport.tbVehicleLedger)
                .set(TbVehicleLedgerDynamicSqlSupport.plateNum).equalToWhenPresent(record::getPlateNum)
                .set(TbVehicleLedgerDynamicSqlSupport.organId).equalToWhenPresent(record::getOrganId)
                .set(TbVehicleLedgerDynamicSqlSupport.driverName).equalToWhenPresent(record::getDriverName)
                .set(TbVehicleLedgerDynamicSqlSupport.driverPhone).equalToWhenPresent(record::getDriverPhone)
                .set(TbVehicleLedgerDynamicSqlSupport.type).equalToWhenPresent(record::getType)
                .set(TbVehicleLedgerDynamicSqlSupport.terminal).equalToWhenPresent(record::getTerminal)
                .set(TbVehicleLedgerDynamicSqlSupport.status).equalToWhenPresent(record::getStatus)
                .set(TbVehicleLedgerDynamicSqlSupport.letStandard).equalToWhenPresent(record::getLetStandard)
                .set(TbVehicleLedgerDynamicSqlSupport.fuelType).equalToWhenPresent(record::getFuelType)
                .set(TbVehicleLedgerDynamicSqlSupport.productDate).equalToWhenPresent(record::getProductDate)
                .set(TbVehicleLedgerDynamicSqlSupport.durableYears).equalToWhenPresent(record::getDurableYears)
                .set(TbVehicleLedgerDynamicSqlSupport.createId).equalToWhenPresent(record::getCreateId)
                .set(TbVehicleLedgerDynamicSqlSupport.modifyId).equalToWhenPresent(record::getModifyId)
                .set(TbVehicleLedgerDynamicSqlSupport.inputTime).equalToWhenPresent(record::getInputTime)
                .set(TbVehicleLedgerDynamicSqlSupport.modifyTime).equalToWhenPresent(record::getModifyTime)
                .set(TbVehicleLedgerDynamicSqlSupport.ranges).equalToWhenPresent(record::getRanges)
                .set(TbVehicleLedgerDynamicSqlSupport.property).equalToWhenPresent(record::getProperty)
                .set(TbVehicleLedgerDynamicSqlSupport.purpose).equalToWhenPresent(record::getPurpose)
                .set(TbVehicleLedgerDynamicSqlSupport.transType).equalToWhenPresent(record::getTransType)
                .set(TbVehicleLedgerDynamicSqlSupport.buyDate).equalToWhenPresent(record::getBuyDate)
                .set(TbVehicleLedgerDynamicSqlSupport.installDate).equalToWhenPresent(record::getInstallDate)
                .set(TbVehicleLedgerDynamicSqlSupport.validePeriod).equalToWhenPresent(record::getValidePeriod)
                .set(TbVehicleLedgerDynamicSqlSupport.tranship).equalToWhenPresent(record::getTranship)
                .set(TbVehicleLedgerDynamicSqlSupport.roadCertificate).equalToWhenPresent(record::getRoadCertificate)
                .set(TbVehicleLedgerDynamicSqlSupport.brandModel).equalToWhenPresent(record::getBrandModel)
                .set(TbVehicleLedgerDynamicSqlSupport.changeCom).equalToWhenPresent(record::getChangeCom)
                .set(TbVehicleLedgerDynamicSqlSupport.engineNum).equalToWhenPresent(record::getEngineNum)
                .set(TbVehicleLedgerDynamicSqlSupport.approvedNum).equalToWhenPresent(record::getApprovedNum)
                .set(TbVehicleLedgerDynamicSqlSupport.approvedWeight).equalToWhenPresent(record::getApprovedWeight)
                .set(TbVehicleLedgerDynamicSqlSupport.vehiclePower).equalToWhenPresent(record::getVehiclePower)
                .set(TbVehicleLedgerDynamicSqlSupport.frameNum).equalToWhenPresent(record::getFrameNum)
                .set(TbVehicleLedgerDynamicSqlSupport.underpanType).equalToWhenPresent(record::getUnderpanType)
                .set(TbVehicleLedgerDynamicSqlSupport.deadWeight).equalToWhenPresent(record::getDeadWeight)
                .set(TbVehicleLedgerDynamicSqlSupport.length).equalToWhenPresent(record::getLength)
                .set(TbVehicleLedgerDynamicSqlSupport.width).equalToWhenPresent(record::getWidth)
                .set(TbVehicleLedgerDynamicSqlSupport.height).equalToWhenPresent(record::getHeight)
                .set(TbVehicleLedgerDynamicSqlSupport.oilWear).equalToWhenPresent(record::getOilWear)
                .set(TbVehicleLedgerDynamicSqlSupport.speedLimit).equalToWhenPresent(record::getSpeedLimit)
                .set(TbVehicleLedgerDynamicSqlSupport.featureNum).equalToWhenPresent(record::getFeatureNum)
                .set(TbVehicleLedgerDynamicSqlSupport.polePairs).equalToWhenPresent(record::getPolePairs)
                .set(TbVehicleLedgerDynamicSqlSupport.inputVoltage).equalToWhenPresent(record::getInputVoltage)
                .set(TbVehicleLedgerDynamicSqlSupport.oneParam).equalToWhenPresent(record::getOneParam)
                .set(TbVehicleLedgerDynamicSqlSupport.twoParam).equalToWhenPresent(record::getTwoParam)
                .set(TbVehicleLedgerDynamicSqlSupport.illegalMove).equalToWhenPresent(record::getIllegalMove)
                .set(TbVehicleLedgerDynamicSqlSupport.lineAlarm).equalToWhenPresent(record::getLineAlarm)
                .set(TbVehicleLedgerDynamicSqlSupport.camera).equalToWhenPresent(record::getCamera)
                .set(TbVehicleLedgerDynamicSqlSupport.video).equalToWhenPresent(record::getVideo)
                .set(TbVehicleLedgerDynamicSqlSupport.videoNum).equalToWhenPresent(record::getVideoNum)
                .set(TbVehicleLedgerDynamicSqlSupport.stopArea).equalToWhenPresent(record::getStopArea)
                .set(TbVehicleLedgerDynamicSqlSupport.workRation).equalToWhenPresent(record::getWorkRation)
                .set(TbVehicleLedgerDynamicSqlSupport.recorderNum).equalToWhenPresent(record::getRecorderNum)
                .set(TbVehicleLedgerDynamicSqlSupport.videoAddress).equalToWhenPresent(record::getVideoAddress)
                .set(TbVehicleLedgerDynamicSqlSupport.image).equalToWhenPresent(record::getImage)
                .set(TbVehicleLedgerDynamicSqlSupport.stopTime).equalToWhenPresent(record::getStopTime);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default int updateByPrimaryKey(TbVehicleLedger record) {
        return UpdateDSL.updateWithMapper(this::update, TbVehicleLedgerDynamicSqlSupport.tbVehicleLedger)
                .set(TbVehicleLedgerDynamicSqlSupport.plateNum).equalTo(record::getPlateNum)
                .set(TbVehicleLedgerDynamicSqlSupport.organId).equalTo(record::getOrganId)
                .set(TbVehicleLedgerDynamicSqlSupport.driverName).equalTo(record::getDriverName)
                .set(TbVehicleLedgerDynamicSqlSupport.driverPhone).equalTo(record::getDriverPhone)
                .set(TbVehicleLedgerDynamicSqlSupport.type).equalTo(record::getType)
                .set(TbVehicleLedgerDynamicSqlSupport.terminal).equalTo(record::getTerminal)
                .set(TbVehicleLedgerDynamicSqlSupport.status).equalTo(record::getStatus)
                .set(TbVehicleLedgerDynamicSqlSupport.letStandard).equalTo(record::getLetStandard)
                .set(TbVehicleLedgerDynamicSqlSupport.fuelType).equalTo(record::getFuelType)
                .set(TbVehicleLedgerDynamicSqlSupport.productDate).equalTo(record::getProductDate)
                .set(TbVehicleLedgerDynamicSqlSupport.durableYears).equalTo(record::getDurableYears)
                .set(TbVehicleLedgerDynamicSqlSupport.createId).equalTo(record::getCreateId)
                .set(TbVehicleLedgerDynamicSqlSupport.modifyId).equalTo(record::getModifyId)
                .set(TbVehicleLedgerDynamicSqlSupport.inputTime).equalTo(record::getInputTime)
                .set(TbVehicleLedgerDynamicSqlSupport.modifyTime).equalTo(record::getModifyTime)
                .set(TbVehicleLedgerDynamicSqlSupport.ranges).equalTo(record::getRanges)
                .set(TbVehicleLedgerDynamicSqlSupport.property).equalTo(record::getProperty)
                .set(TbVehicleLedgerDynamicSqlSupport.purpose).equalTo(record::getPurpose)
                .set(TbVehicleLedgerDynamicSqlSupport.transType).equalTo(record::getTransType)
                .set(TbVehicleLedgerDynamicSqlSupport.buyDate).equalTo(record::getBuyDate)
                .set(TbVehicleLedgerDynamicSqlSupport.installDate).equalTo(record::getInstallDate)
                .set(TbVehicleLedgerDynamicSqlSupport.validePeriod).equalTo(record::getValidePeriod)
                .set(TbVehicleLedgerDynamicSqlSupport.tranship).equalTo(record::getTranship)
                .set(TbVehicleLedgerDynamicSqlSupport.roadCertificate).equalTo(record::getRoadCertificate)
                .set(TbVehicleLedgerDynamicSqlSupport.brandModel).equalTo(record::getBrandModel)
                .set(TbVehicleLedgerDynamicSqlSupport.changeCom).equalTo(record::getChangeCom)
                .set(TbVehicleLedgerDynamicSqlSupport.engineNum).equalTo(record::getEngineNum)
                .set(TbVehicleLedgerDynamicSqlSupport.approvedNum).equalTo(record::getApprovedNum)
                .set(TbVehicleLedgerDynamicSqlSupport.approvedWeight).equalTo(record::getApprovedWeight)
                .set(TbVehicleLedgerDynamicSqlSupport.vehiclePower).equalTo(record::getVehiclePower)
                .set(TbVehicleLedgerDynamicSqlSupport.frameNum).equalTo(record::getFrameNum)
                .set(TbVehicleLedgerDynamicSqlSupport.underpanType).equalTo(record::getUnderpanType)
                .set(TbVehicleLedgerDynamicSqlSupport.deadWeight).equalTo(record::getDeadWeight)
                .set(TbVehicleLedgerDynamicSqlSupport.length).equalTo(record::getLength)
                .set(TbVehicleLedgerDynamicSqlSupport.width).equalTo(record::getWidth)
                .set(TbVehicleLedgerDynamicSqlSupport.height).equalTo(record::getHeight)
                .set(TbVehicleLedgerDynamicSqlSupport.oilWear).equalTo(record::getOilWear)
                .set(TbVehicleLedgerDynamicSqlSupport.speedLimit).equalTo(record::getSpeedLimit)
                .set(TbVehicleLedgerDynamicSqlSupport.featureNum).equalTo(record::getFeatureNum)
                .set(TbVehicleLedgerDynamicSqlSupport.polePairs).equalTo(record::getPolePairs)
                .set(TbVehicleLedgerDynamicSqlSupport.inputVoltage).equalTo(record::getInputVoltage)
                .set(TbVehicleLedgerDynamicSqlSupport.oneParam).equalTo(record::getOneParam)
                .set(TbVehicleLedgerDynamicSqlSupport.twoParam).equalTo(record::getTwoParam)
                .set(TbVehicleLedgerDynamicSqlSupport.illegalMove).equalTo(record::getIllegalMove)
                .set(TbVehicleLedgerDynamicSqlSupport.lineAlarm).equalTo(record::getLineAlarm)
                .set(TbVehicleLedgerDynamicSqlSupport.camera).equalTo(record::getCamera)
                .set(TbVehicleLedgerDynamicSqlSupport.video).equalTo(record::getVideo)
                .set(TbVehicleLedgerDynamicSqlSupport.videoNum).equalTo(record::getVideoNum)
                .set(TbVehicleLedgerDynamicSqlSupport.stopArea).equalTo(record::getStopArea)
                .set(TbVehicleLedgerDynamicSqlSupport.workRation).equalTo(record::getWorkRation)
                .set(TbVehicleLedgerDynamicSqlSupport.recorderNum).equalTo(record::getRecorderNum)
                .set(TbVehicleLedgerDynamicSqlSupport.videoAddress).equalTo(record::getVideoAddress)
                .set(TbVehicleLedgerDynamicSqlSupport.image).equalTo(record::getImage)
                .set(TbVehicleLedgerDynamicSqlSupport.stopTime).equalTo(record::getStopTime)
                .where(TbVehicleLedgerDynamicSqlSupport.id, isEqualTo(record::getId))
                .build()
                .execute();
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default int updateByPrimaryKeySelective(TbVehicleLedger record) {
        return UpdateDSL.updateWithMapper(this::update, TbVehicleLedgerDynamicSqlSupport.tbVehicleLedger)
                .set(TbVehicleLedgerDynamicSqlSupport.plateNum).equalToWhenPresent(record::getPlateNum)
                .set(TbVehicleLedgerDynamicSqlSupport.organId).equalToWhenPresent(record::getOrganId)
                .set(TbVehicleLedgerDynamicSqlSupport.driverName).equalToWhenPresent(record::getDriverName)
                .set(TbVehicleLedgerDynamicSqlSupport.driverPhone).equalToWhenPresent(record::getDriverPhone)
                .set(TbVehicleLedgerDynamicSqlSupport.type).equalToWhenPresent(record::getType)
                .set(TbVehicleLedgerDynamicSqlSupport.terminal).equalToWhenPresent(record::getTerminal)
                .set(TbVehicleLedgerDynamicSqlSupport.status).equalToWhenPresent(record::getStatus)
                .set(TbVehicleLedgerDynamicSqlSupport.letStandard).equalToWhenPresent(record::getLetStandard)
                .set(TbVehicleLedgerDynamicSqlSupport.fuelType).equalToWhenPresent(record::getFuelType)
                .set(TbVehicleLedgerDynamicSqlSupport.productDate).equalToWhenPresent(record::getProductDate)
                .set(TbVehicleLedgerDynamicSqlSupport.durableYears).equalToWhenPresent(record::getDurableYears)
                .set(TbVehicleLedgerDynamicSqlSupport.createId).equalToWhenPresent(record::getCreateId)
                .set(TbVehicleLedgerDynamicSqlSupport.modifyId).equalToWhenPresent(record::getModifyId)
                .set(TbVehicleLedgerDynamicSqlSupport.inputTime).equalToWhenPresent(record::getInputTime)
                .set(TbVehicleLedgerDynamicSqlSupport.modifyTime).equalToWhenPresent(record::getModifyTime)
                .set(TbVehicleLedgerDynamicSqlSupport.ranges).equalToWhenPresent(record::getRanges)
                .set(TbVehicleLedgerDynamicSqlSupport.property).equalToWhenPresent(record::getProperty)
                .set(TbVehicleLedgerDynamicSqlSupport.purpose).equalToWhenPresent(record::getPurpose)
                .set(TbVehicleLedgerDynamicSqlSupport.transType).equalToWhenPresent(record::getTransType)
                .set(TbVehicleLedgerDynamicSqlSupport.buyDate).equalToWhenPresent(record::getBuyDate)
                .set(TbVehicleLedgerDynamicSqlSupport.installDate).equalToWhenPresent(record::getInstallDate)
                .set(TbVehicleLedgerDynamicSqlSupport.validePeriod).equalToWhenPresent(record::getValidePeriod)
                .set(TbVehicleLedgerDynamicSqlSupport.tranship).equalToWhenPresent(record::getTranship)
                .set(TbVehicleLedgerDynamicSqlSupport.roadCertificate).equalToWhenPresent(record::getRoadCertificate)
                .set(TbVehicleLedgerDynamicSqlSupport.brandModel).equalToWhenPresent(record::getBrandModel)
                .set(TbVehicleLedgerDynamicSqlSupport.changeCom).equalToWhenPresent(record::getChangeCom)
                .set(TbVehicleLedgerDynamicSqlSupport.engineNum).equalToWhenPresent(record::getEngineNum)
                .set(TbVehicleLedgerDynamicSqlSupport.approvedNum).equalToWhenPresent(record::getApprovedNum)
                .set(TbVehicleLedgerDynamicSqlSupport.approvedWeight).equalToWhenPresent(record::getApprovedWeight)
                .set(TbVehicleLedgerDynamicSqlSupport.vehiclePower).equalToWhenPresent(record::getVehiclePower)
                .set(TbVehicleLedgerDynamicSqlSupport.frameNum).equalToWhenPresent(record::getFrameNum)
                .set(TbVehicleLedgerDynamicSqlSupport.underpanType).equalToWhenPresent(record::getUnderpanType)
                .set(TbVehicleLedgerDynamicSqlSupport.deadWeight).equalToWhenPresent(record::getDeadWeight)
                .set(TbVehicleLedgerDynamicSqlSupport.length).equalToWhenPresent(record::getLength)
                .set(TbVehicleLedgerDynamicSqlSupport.width).equalToWhenPresent(record::getWidth)
                .set(TbVehicleLedgerDynamicSqlSupport.height).equalToWhenPresent(record::getHeight)
                .set(TbVehicleLedgerDynamicSqlSupport.oilWear).equalToWhenPresent(record::getOilWear)
                .set(TbVehicleLedgerDynamicSqlSupport.speedLimit).equalToWhenPresent(record::getSpeedLimit)
                .set(TbVehicleLedgerDynamicSqlSupport.featureNum).equalToWhenPresent(record::getFeatureNum)
                .set(TbVehicleLedgerDynamicSqlSupport.polePairs).equalToWhenPresent(record::getPolePairs)
                .set(TbVehicleLedgerDynamicSqlSupport.inputVoltage).equalToWhenPresent(record::getInputVoltage)
                .set(TbVehicleLedgerDynamicSqlSupport.oneParam).equalToWhenPresent(record::getOneParam)
                .set(TbVehicleLedgerDynamicSqlSupport.twoParam).equalToWhenPresent(record::getTwoParam)
                .set(TbVehicleLedgerDynamicSqlSupport.illegalMove).equalToWhenPresent(record::getIllegalMove)
                .set(TbVehicleLedgerDynamicSqlSupport.lineAlarm).equalToWhenPresent(record::getLineAlarm)
                .set(TbVehicleLedgerDynamicSqlSupport.camera).equalToWhenPresent(record::getCamera)
                .set(TbVehicleLedgerDynamicSqlSupport.video).equalToWhenPresent(record::getVideo)
                .set(TbVehicleLedgerDynamicSqlSupport.videoNum).equalToWhenPresent(record::getVideoNum)
                .set(TbVehicleLedgerDynamicSqlSupport.stopArea).equalToWhenPresent(record::getStopArea)
                .set(TbVehicleLedgerDynamicSqlSupport.workRation).equalToWhenPresent(record::getWorkRation)
                .set(TbVehicleLedgerDynamicSqlSupport.recorderNum).equalToWhenPresent(record::getRecorderNum)
                .set(TbVehicleLedgerDynamicSqlSupport.videoAddress).equalToWhenPresent(record::getVideoAddress)
                .set(TbVehicleLedgerDynamicSqlSupport.image).equalToWhenPresent(record::getImage)
                .set(TbVehicleLedgerDynamicSqlSupport.stopTime).equalToWhenPresent(record::getStopTime)
                .where(TbVehicleLedgerDynamicSqlSupport.id, isEqualTo(record::getId))
                .build()
                .execute();
    }
}